package com.zkthink.ceres.applet.order.service;

import com.zkthink.base.R;
import com.zkthink.ceres.applet.common.domin.PageDate;
import com.zkthink.ceres.applet.order.domain.entity.AppletProductOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zkthink.ceres.applet.order.domain.vo.*;
import com.zkthink.clh.order.dto.MyqianbaoDto;
import com.zkthink.clh.order.vo.MyqianbaoVo;

/**

@Author cmz
@Date 2024-04-30 9:33
*/
public interface AppletProductOrderService extends IService<AppletProductOrder>{


        R isFirstProductOrder();

        R placeServerOrder(PlaceProductOrderVo placeProductOrderVol);

    R setDeliveryMethod(SetDeliveryMethod setDeliveryMethod);

    R<Object> payOrder(Long mid, Long orderId, String clientIP);

    R confirmReceipt(Long orderId);

    R cancelPay(OrderStatusVo orderStatusVo);

    R findProductOrderList(PageByOrderTypeVo pageDate);
    
    AppletProductOrder selectByOrderCode(String orderCode);

    R refreshOrderCodeUrl(String orderCode);

    R<OrderDetailVo> findOrderDetail(String orderCode);

    MyqianbaoVo myQianBao(MyqianbaoDto dto,MyqianbaoVo vo);

    R serverOrderAssess(ServerOrderAssessVo serverOrderAssessVo);
    R selectAssess(PageDate pageDate);
}
